// NOLINTBEGIN
#include <iostream>
using namespace std;

int main() {
  int a(8);
  int& ra = a;

  cout << (ra == a) << ";";
  cout << (&ra == &a) << ";";
  cout << (sizeof(ra) == sizeof(a)) << endl;

  return 0;
}
// NOLINTEND

/*
ra 是对 a 的引用
第一个是比较 ra 和 a 的值，二者值相等。
所以该表达式的结果为 true，即为 1。

第二个是比较 ra 和 a 的地址，它们的地址也是相同的。
所以该表达式也为 true，结果为 1。

第三个是比较 ra 和 a 的大小，它们的大小在内存中都是相同的。
该表达式结果为 true，即为 1。

如果将语句修改会出错。
引用要在声明时被初始化

*/